**************Plotting moments fit***************


clear all
set more off, perm
capture log close
set maxvar 32767
//global klmChinaReach2: env klmChinaReach2
//global datapath "${klmChinaReach2}/Fuyao_Erlfang"
cd "C:\Users\jzhou269\Desktop\interaction\moment_fit"



******all task passing rate 195******

use alltask_rate_195, clear
// merge 1:1 ts_id using "$datapath/Eleanor/Control Groups/controlgroup.dta", nogen keepusing(level* repeat*)


unab skills : level*
local skills : subinstr local skills "level" "", all
foreach skill of local skills {
	sort level`skill' ts_id
	replace level`skill' = . if level`skill' == -99
	gen index`skill'= sum(!missing(level`skill')) if !missing(level`skill')
}
sort indext

**Paste over lines 1-195 simulated moments - var16

replace var16 = . if var16 == -99

label var mean_task "Data"
label var ub "95% CI"
label var var16 "Model"



unab skills : level*
local skills : subinstr local skills "level" "", all
foreach skill of local skills {
	local xlines ""
	local xlabels ""
	sum level`skill'
	if r(N)>0 {
	forval level=`r(min)'/`r(max)' {
		sum index`skill' if level`skill'==`level'
		if r(N)>0 {
		local xlines "`xlines' `r(max)'"
		local xlabels `" `xlabels' `r(max)' "`level'" "'
		}
	}
	sort index`skill'
	if inlist("`skill'","f2")==1 {
	twoway line mean_task index`skill', sort lwidth(medthin) || line ub index`skill', sort lcolor(gs11) lpattern(dash) lwidth(medthin) || line lb index`skill', sort lcolor(gs11) lpattern(dash) lwidth(medthin) || scatter var16 index`skill', sort msize(small)   ///
	xline(`xlines', lcolor(khaki) lpattern(dash) lwidth(thin)) ///
	xlabel(`xlabels', labsize(small)) xmtick(, labsize(small)) ///
	xtitle(Difficulty Level, size(small)) ytitle(Passing Rate, size(small)) ylabel(,labsize(small)) ///
	title("", size(medium)) legend(order(1 2 4) row(1) size(small) nobox fcolor() region(fcolor(white) margin(zero)) bmargin(zero) rowgap(tiny) colgap(tiny) keygap(tiny)) ///
	note("Note: The dashed yellow lines indicate the last task at each difficulty level. Within difficulty levels, " "tasks are arranged by order of the children taking them.", size(small) span) ///
	graphregion(fcolor(white) ifcolor(white) ilwidth(vvvthin)) plotregion(margin(medsmall) lwidth(vvvthin) ilwidth(vvvthin)) ///
	saving("plots/1905moments/fine_alltask", replace)
	graph export "plots/1905moments/fine_alltask.pdf", replace	
	}
	else if inlist("`skill'","l")==1 {
	twoway line mean_task index`skill', sort lwidth(medthin) || line ub index`skill', sort lcolor(gs11) lpattern(dash) lwidth(medthin) || line lb index`skill', sort lcolor(gs11) lpattern(dash) lwidth(medthin) || scatter var16 index`skill', sort msize(small)   ///
	xline(`xlines', lcolor(khaki) lpattern(dash) lwidth(thin)) ///
	xlabel(`xlabels', labsize(small)) xmtick(, labsize(small)) ///
	xtitle(Difficulty Level, size(small)) ytitle(Passing Rate, size(small)) ylabel(,labsize(small)) ///
	title("", size(medium)) legend(order(1 2 4) row(1) size(small) nobox fcolor() region(fcolor(white) margin(zero)) bmargin(zero) rowgap(tiny) colgap(tiny) keygap(tiny)) ///
	note("Note: The dashed yellow lines indicate the last task at each difficulty level. Within difficulty levels, " "tasks are arranged by order of the children taking them." "All the children started from level 2 or above upon enrolling.", size(small) span) ///
	graphregion(fcolor(white) ifcolor(white) ilwidth(vvvthin)) plotregion(margin(medsmall) lwidth(vvvthin) ilwidth(vvvthin)) ///
	saving("plots/1905moments/lan_alltask", replace)
	graph export "plots/1905moments/lan_alltask.pdf", replace	
	}
	else if inlist("`skill'","c2")==1 {
	twoway line mean_task index`skill', sort lwidth(medthin) || line ub index`skill', sort lcolor(gs11) lpattern(dash) lwidth(medthin) || line lb index`skill', sort lcolor(gs11) lpattern(dash) lwidth(medthin) || scatter var16 index`skill', sort msize(small)   ///
	xline(`xlines', lcolor(khaki) lpattern(dash) lwidth(thin)) ///
	xlabel(`xlabels', labsize(small)) xmtick(, labsize(small)) ///
	xtitle(Difficulty Level, size(small)) ytitle(Passing Rate, size(small)) ylabel(,labsize(small)) ///
	title("", size(medium)) legend(order(1 2 4) row(1) size(small) nobox fcolor() region(fcolor(white) margin(zero)) bmargin(zero) rowgap(tiny) colgap(tiny) keygap(tiny)) ///
	note("Note: The dashed yellow lines indicate the last task at each difficulty level. Within difficulty levels, " "tasks are arranged by order of the children taking them.", size(small) span) ///
	graphregion(fcolor(white) ifcolor(white) ilwidth(vvvthin)) plotregion(margin(medsmall) lwidth(vvvthin) ilwidth(vvvthin)) ///
	saving("plots/1905moments/cog_alltask", replace)
	graph export "plots/1905moments/cog_alltask.pdf", replace	
	}
	}
}


**# Bookmark #4

********************************196-731 for language*********************************
	
******levell only 11******
use levell_rate, clear


label var mean_task "Data"
label var ub "95% CI"
**paste over 196-206
label var var7 "Model"
drop if var7 < -90

twoway connected mean_task levell, sort lwidth(medthin) msize(small) || line ub levell, sort lcolor(gs11) lpattern(dash) lwidth(medthin) || line lb levell, sort lcolor(gs11) lpattern(dash) lwidth(medthin) || scatter var7 levell, sort msize(small)   ///
	xlabel(2(1)11, labsize(small)) xmtick(, labsize(small)) ///
	xtitle(Difficulty Level, size(small)) ytitle(Passing Rate, size(small)) ylabel(,labsize(small)) ///
	title("", size(medium)) legend(order(1 2 4) row(1) size(small) nobox fcolor() region(fcolor(white) margin(zero)) bmargin(zero) rowgap(tiny) colgap(tiny) keygap(tiny)) ///
	note("All the children started from level 2 or above upon enrolling.", size(small) span)  ///
	graphregion(fcolor(white) ifcolor(white) ilwidth(vvvthin)) plotregion(margin(medsmall) lwidth(vvvthin) ilwidth(vvvthin)) ///
	saving("plots/1905moments/lan_levell", replace)
	graph export "plots/1905moments/lan_levell.pdf", replace	


******Conditional on previous level******


use artl_rate_pre1, clear

**Paste over lines 207-431 simulated moments - var9

// gen temp = _n
gen indexl = mod(_n, 25)
replace indexl = 25 if indexl == 0

label var mean "Data"
label var ub "95% CI"
label var var9 "Model"
forval i = 3/11{
	twoway connected mean indexl if l_focus == `i', sort lwidth(medthin) msize(small) || line ub indexl if l_focus == `i', sort lcolor(gs11) lpattern(dash) lwidth(medthin) || line lb indexl if l_focus == `i', sort lcolor(gs11) lpattern(dash) lwidth(medthin) || scatter var9 indexl if l_focus == `i', sort msize(small)   ///
	xline(5(5)20, lcolor(khaki) lpattern(dash) lwidth(thin)) ///
	xlabel(3 "1st Task" 8 "2nd Task" 13 "3rd Task" 18 "4th Task" 23 "5th Task", labsize(small)) xmtick(, labsize(small)) ///
	xtitle(Task Order from The Previous Level That Is Being Conditional on, size(small)) ytitle(Passing Rate, size(small)) ylabel(,labsize(small)) ///
	title("Fit on Language Tasks Average Passing Rate (Level `i')", size(medium)) subtitle("Conditional on Difficulty Level `=`i'-1' Task Performance", size(small)) legend(order(1 2 4) row(1) size(small) nobox fcolor() region(fcolor(white) margin(zero)) bmargin(zero) rowgap(tiny) colgap(tiny) keygap(tiny)) ///
	note("1. Index 1-5 represents the first 5 tasks at difficulty level `i' conditional on the passing the first task at level `=`i'-1'." "Index 6-10 represents the first 5 tasks at difficulty level `i' conditional on the passing the second task at level `=`i'-1'." "Similarly, index 11-15, 16-20, 20-25 represent that conditional on passing the 3rd, 4th, and 5th task at level `=`i'-1', respectively." "2. The dashed yellow lines indicate the last task of each index group.", size(vsmall) span) ///
	graphregion(fcolor(white) ifcolor(white) ilwidth(vvvthin)) plotregion(margin(medsmall) lwidth(vvvthin) ilwidth(vvvthin))  ///
	saving("plots/1905moments/lan_pre1_l`i'", replace)
	graph export "plots/1905moments/lan_pre1_l`i'.pdf", replace	

}


******Conditional on previous task************

use artl_rate_pretask, clear
**Paste over lines 432-531 simulated moments - var9
gen indexl = _n

label var mean "Data"
label var ub "95% CI"
label var var9 "Model"
replace var9 = . if var9 == -99
local xlabels ""
forval i = 2/11{
	local k = 10*(`i'-1)
	local xlabels "`xlabels' `k' "`i'" "
}

twoway line mean indexl, sort lwidth(medthin) || line ub indexl, sort lcolor(gs11) lpattern(dash) lwidth(medthin) || line lb indexl, sort lcolor(gs11) lpattern(dash) lwidth(medthin) || scatter var9 indexl, sort msize(small)   ///
	xline(10(10)100, lcolor(khaki) lpattern(dash) lwidth(thin)) ///
	xlabel(`xlabels', labsize(small)) xmtick(, labsize(small)) ///
	xtitle(Difficulty Level, size(small)) ytitle(Passing Rate, size(small)) ylabel(,labsize(small)) ///
	title("Fit on Language Tasks Average Passing Rate", size(medium)) subtitle(Conditional on Previous Tasks' Performance at the Same Level, size(small)) legend(order(1 2 4) row(1) size(small) nobox fcolor() region(fcolor(white) margin(zero)) bmargin(zero) rowgap(tiny) colgap(tiny) keygap(tiny)) ///
	note("1. The figure presents the average passing rate for each task conditional on passing previous tasks at each level. For example, it shows tasks" "2-5's passing rates conditional on passing the first tasks, and tasks 3-5's passing rates conditional on passing task 2, etc., at each difficulty level." "2. The dashed yellow lines indicate the last task at each difficulty level." "3. All the children started from level 2 or above upon enrolling.", size(vsmall) span) ///
	graphregion(fcolor(white) ifcolor(white) ilwidth(vvvthin)) plotregion(margin(medsmall) lwidth(vvvthin) ilwidth(vvvthin)) ///
	saving("plots/1905moments/lan_pretask", replace)
	graph export "plots/1905moments/lan_pretask.pdf", replace	



******Conditional on previous 2 level******

use artl_rate_pre2, clear

**Paste over lines 532-731 simulated moments - var9

replace var9 = . if var9 == -99
gen indexl = mod(_n, 25)
replace indexl = 25 if indexl == 0

label var mean "Data"
label var ub "95% CI"
label var var9 "Model"
forval i = 4/11{
	twoway connected mean indexl if l_focus == `i', sort lwidth(medthin) msize(small) || line ub indexl if l_focus == `i', sort lcolor(gs11) lpattern(dash) lwidth(medthin) || line lb indexl if l_focus == `i', sort lcolor(gs11) lpattern(dash) lwidth(medthin) || scatter var9 indexl if l_focus == `i', sort msize(small)   ///
	xline(5(5)20, lcolor(khaki) lpattern(dash) lwidth(thin)) ///
	xlabel(3 "1st Task" 8 "2nd Task" 13 "3rd Task" 18 "4th Task" 23 "5th Task", labsize(small)) ///
	xtitle(Task Order from The Level 2 Steps Down That Is Being Conditional on, size(small)) ytitle(Passing Rate, size(small)) ylabel(,labsize(small)) ///
	title("Fit on Language Tasks Average Passing Rate (Level `i')", size(medium)) subtitle("Conditional on Difficulty Level `=`i'-2' Task Performance", size(small)) legend(order(1 2 4) row(1) size(small) nobox fcolor() region(fcolor(white) margin(zero)) bmargin(zero) rowgap(tiny) colgap(tiny) keygap(tiny)) ///
	note("1. Index 1-5 represents the first 5 tasks at difficulty level `i' conditional on the passing the first task at level `=`i'-2'." "Index 6-10 represents the first 5 tasks at difficulty level `i' conditional on the passing the second task at level `=`i'-2'." "Similarly, index 11-15, 16-20, 20-25 represent that conditional on passing the 3rd, 4th, and 5th task at level `=`i'-2', respectively." "2. The dashed yellow lines indicate the last task of each index group.", size(vsmall) span) ///
	graphregion(fcolor(white) ifcolor(white) ilwidth(vvvthin)) plotregion(margin(medsmall) lwidth(vvvthin) ilwidth(vvvthin))  ///
	saving("plots/1905moments/lan_pre2_l`i'", replace)
	graph export "plots/1905moments/lan_pre2_l`i'.pdf", replace	

}


**# Bookmark #3

*******************************************New and old group***************************************

use enroll_1mo_195, clear
sort indext

**Paste over lines 732-926 simulated moments for new enroll - var41
**Paste over lines 927-1121 simulated moments for old enroll - var42
rename var41 sim_new
rename var42 sim_old

replace sim_new = . if sim_new == -99
replace sim_old = . if sim_old == -99

keep if N_old>10 & N_new>10

unab skills : level*
local skills : subinstr local skills "level" "", all
foreach skill of local skills {
	sort level`skill' ts_id
	replace level`skill' = . if level`skill' == -99
	gen index`skill'= sum(!missing(level`skill')) if !missing(level`skill')
}
unab skills : level*
local skills : subinstr local skills "level" "*", all
order `skills', after(max_age)
sort indext


label var mean_new "Data"
label var ub_new "95% CI"
label var sim_new "Model"
label var mean_old "Data"
label var ub_old "95% CI"
label var sim_old "Model"

preserve
drop if mean_new == .


unab skills : level*
local skills : subinstr local skills "level" "", all
foreach skill of local skills {
	local xlines ""
	local xlabels ""
	sum level`skill'
	if r(N)>0 {
	forval level=`r(min)'/`r(max)' {
		sum index`skill' if level`skill'==`level'
		if r(N)>0 {
		local xlines "`xlines' `r(max)'"
		local xlabels `" `xlabels' `r(max)' "`level'" "'
		}
	}
	sort index`skill'
	if inlist("`skill'","f2")==1 {
	twoway line mean_new index`skill', sort lwidth(medthin) || line ub_new index`skill', sort lcolor(gs11) lpattern(dash) lwidth(medthin) || line lb_new index`skill', sort lcolor(gs11) lpattern(dash) lwidth(medthin) || scatter sim_new index`skill', sort msize(small)   ///
	xline(`xlines', lcolor(khaki) lpattern(dash) lwidth(thin)) ///
	xlabel(`xlabels', labsize(small)) xmtick(, labsize(small)) ///
	xtitle(Difficulty Level, size(small)) ytitle(Passing Rate, size(small)) ylabel(,labsize(small)) ///
	title("", size(medium)) subtitle(Enrollment Duration Less than One Month, size(small)) legend(order(1 2 4) row(1) size(small) nobox fcolor() region(fcolor(white) margin(zero)) bmargin(zero) rowgap(tiny) colgap(tiny) keygap(tiny)) ///
	note("1. Enrolled < 1 Month represents children who had been in the program for less than one month when the task was evaluated." "2. Tasks with fewer than 10 observations in either group are omitted.   3. The dashed yellow lines indicate the last task at each difficulty level." "Within difficulty levels, tasks are arranged by order of the children taking them.", size(vsmall) span) ///
	graphregion(fcolor(white) ifcolor(white) ilwidth(vvvthin)) plotregion(margin(medsmall) lwidth(vvvthin) ilwidth(vvvthin)) ///
	saving("plots/1905moments/fine_groupnew", replace)
	graph export "plots/1905moments/fine_groupnew.pdf", replace	
	}
	else if inlist("`skill'","l")==1 {
	twoway line mean_new index`skill', sort lwidth(medthin) || line ub_new index`skill', sort lcolor(gs11) lpattern(dash) lwidth(medthin) || line lb_new index`skill', sort lcolor(gs11) lpattern(dash) lwidth(medthin) || scatter sim_new index`skill', sort msize(small)   ///
	xline(`xlines', lcolor(khaki) lpattern(dash) lwidth(thin)) ///
	xlabel(`xlabels', labsize(small)) xmtick(, labsize(small)) ///
	xtitle(Difficulty Level, size(small)) ytitle(Passing Rate, size(small)) ylabel(,labsize(small)) ///
	title("", size(medium)) subtitle(Enrollment Duration Less than One Month, size(small)) legend(order(1 2 4) row(1) size(small) nobox fcolor() region(fcolor(white) margin(zero)) bmargin(zero) rowgap(tiny) colgap(tiny) keygap(tiny)) ///
	note("1. Enrolled < 1 Month represents children who had been in the program for less than one month when the task was evaluated." "2. Tasks with fewer than 10 observations in either group are omitted.   3. The dashed yellow lines indicate the last task at each difficulty level." "Within difficulty levels, tasks are arranged by order of the children taking them." "4. All the children started from level 2 or above upon enrolling.", size(vsmall) span) ///
	graphregion(fcolor(white) ifcolor(white) ilwidth(vvvthin)) plotregion(margin(medsmall) lwidth(vvvthin) ilwidth(vvvthin)) ///
	saving("plots/1905moments/lan_groupnew", replace)
	graph export "plots/1905moments/lan_groupnew.pdf", replace	
	}
	else if inlist("`skill'","c2")==1 {
	twoway line mean_new index`skill', sort lwidth(medthin) || line ub_new index`skill', sort lcolor(gs11) lpattern(dash) lwidth(medthin) || line lb_new index`skill', sort lcolor(gs11) lpattern(dash) lwidth(medthin) || scatter sim_new index`skill', sort msize(small)   ///
	xline(`xlines', lcolor(khaki) lpattern(dash) lwidth(thin)) ///
	xlabel(`xlabels', labsize(small)) xmtick(, labsize(small)) ///
	xtitle(Difficulty Level, size(small)) ytitle(Passing Rate, size(small)) ylabel(,labsize(small)) ///
	title("", size(medium)) subtitle(Enrollment Duration Less than One Month, size(small)) legend(order(1 2 4) row(1) size(small) nobox fcolor() region(fcolor(white) margin(zero)) bmargin(zero) rowgap(tiny) colgap(tiny) keygap(tiny)) ///
	note("1. Enrolled < 1 Month represents children who had been in the program for less than one month when the task was evaluated." "2. Tasks with fewer than 10 observations in either group are omitted.   3. The dashed yellow lines indicate the last task at each difficulty level." "Within difficulty levels, tasks are arranged by order of the children taking them.", size(vsmall) span) ///
	graphregion(fcolor(white) ifcolor(white) ilwidth(vvvthin)) plotregion(margin(medsmall) lwidth(vvvthin) ilwidth(vvvthin)) ///
	saving("plots/1905moments/cog_groupnew", replace)
	graph export "plots/1905moments/cog_groupnew.pdf", replace	
	}
	}
}

restore



preserve
drop if mean_old == .


unab skills : level*
local skills : subinstr local skills "level" "", all
foreach skill of local skills {
	local xlines ""
	local xlabels ""
	sum level`skill'
	if r(N)>0 {
	forval level=`r(min)'/`r(max)' {
		sum index`skill' if level`skill'==`level'
		if r(N)>0 {
		local xlines "`xlines' `r(max)'"
		local xlabels `" `xlabels' `r(max)' "`level'" "'
		}
	}
	sort index`skill'
	if inlist("`skill'","f2")==1 {
	twoway line mean_old index`skill', sort lwidth(medthin) || line ub_old index`skill', sort lcolor(gs11) lpattern(dash) lwidth(medthin) || line lb_old index`skill', sort lcolor(gs11) lpattern(dash) lwidth(medthin) || scatter sim_old index`skill', sort msize(small)   ///
	xline(`xlines', lcolor(khaki) lpattern(dash) lwidth(thin)) ///
	xlabel(`xlabels', labsize(small)) xmtick(, labsize(small)) ///
	xtitle(Difficulty Level, size(small)) ytitle(Passing Rate, size(small)) ylabel(,labsize(small)) ///
	title("", size(medium)) subtitle(Enrollment Duration More than one month, size(small)) legend(order(1 2 4) row(1) size(small) nobox fcolor() region(fcolor(white) margin(zero)) bmargin(zero) rowgap(tiny) colgap(tiny) keygap(tiny)) ///
	note("1. Enrolled > 1 Month represents children who had been in the program for more than one month when the task was evaluated, who continued" "to stay in the program for 2 years. 2. Tasks with fewer than 10 observations in either group are omitted.  3. The dashed yellow lines indicate" "the last task at each difficulty level. Within difficulty levels, tasks are arranged by order of the children taking them.", size(vsmall) span) ///
	graphregion(fcolor(white) ifcolor(white) ilwidth(vvvthin)) plotregion(margin(medsmall) lwidth(vvvthin) ilwidth(vvvthin)) ///
	saving("plots/1905moments/fine_groupold", replace)
	graph export "plots/1905moments/fine_groupold.pdf", replace	
	}
	else if inlist("`skill'","l")==1 {
	twoway line mean_old index`skill', sort lwidth(medthin) || line ub_old index`skill', sort lcolor(gs11) lpattern(dash) lwidth(medthin) || line lb_old index`skill', sort lcolor(gs11) lpattern(dash) lwidth(medthin) || scatter sim_old index`skill', sort msize(small)   ///
	xline(`xlines', lcolor(khaki) lpattern(dash) lwidth(thin)) ///
	xlabel(`xlabels', labsize(small)) xmtick(, labsize(small)) ///
	xtitle(Difficulty Level, size(small)) ytitle(Passing Rate, size(small)) ylabel(,labsize(small)) ///
	title("", size(medium)) subtitle(Enrollment Duration More than one month, size(small)) legend(order(1 2 4) row(1) size(small) nobox fcolor() region(fcolor(white) margin(zero)) bmargin(zero) rowgap(tiny) colgap(tiny) keygap(tiny)) ///
	note("1. Enrolled > 1 Month represents children who had been in the program for more than one month when the task was evaluated, who continued" "to stay in the program for 2 years. 2. Tasks with fewer than 10 observations in either group are omitted.  3. The dashed yellow lines indicate" "the last task at each difficulty level. Within difficulty levels, tasks are arranged by order of the children taking them." "4. All the children started from level 2 or above upon enrolling.", size(vsmall) span) ///
	graphregion(fcolor(white) ifcolor(white) ilwidth(vvvthin)) plotregion(margin(medsmall) lwidth(vvvthin) ilwidth(vvvthin)) ///
	saving("plots/1905moments/lan_groupold", replace)
	graph export "plots/1905moments/lan_groupold.pdf", replace	
	}
	else if inlist("`skill'","c2")==1 {
	twoway line mean_old index`skill', sort lwidth(medthin) || line ub_old index`skill', sort lcolor(gs11) lpattern(dash) lwidth(medthin) || line lb_old index`skill', sort lcolor(gs11) lpattern(dash) lwidth(medthin) || scatter sim_old index`skill', sort msize(small)   ///
	xline(`xlines', lcolor(khaki) lpattern(dash) lwidth(thin)) ///
	xlabel(`xlabels', labsize(small)) xmtick(, labsize(small)) ///
	xtitle(Difficulty Level, size(small)) ytitle(Passing Rate, size(small)) ylabel(,labsize(small)) ///
	title("", size(medium)) subtitle(Enrollment Duration More than one month, size(small)) legend(order(1 2 4) row(1) size(small) nobox fcolor() region(fcolor(white) margin(zero)) bmargin(zero) rowgap(tiny) colgap(tiny) keygap(tiny)) ///
	note("1. Enrolled > 1 Month represents children who had been in the program for more than one month when the task was evaluated, who continued" "to stay in the program for 2 years. 2. Tasks with fewer than 10 observations in either group are omitted.  3. The dashed yellow lines indicate" "the last task at each difficulty level. Within difficulty levels, tasks are arranged by order of the children taking them.", size(vsmall) span) ///
	graphregion(fcolor(white) ifcolor(white) ilwidth(vvvthin)) plotregion(margin(medsmall) lwidth(vvvthin) ilwidth(vvvthin)) ///
	saving("plots/1905moments/cog_groupold", replace)
	graph export "plots/1905moments/cog_groupold.pdf", replace	
	}
	}
}

restore


**# Bookmark #1

*******************************************c2 f2 one number/level***************************************

******levelc2 only 13******
use levelc2_rate, clear


label var mean_task "Data"
label var ub "95% CI"
**paste over 1122-1134
label var var7 "Model"

twoway connected mean_task levelc2, sort lwidth(medthin) msize(small) || line ub levelc2, sort lcolor(gs11) lpattern(dash) lwidth(medthin) || line lb levelc2, sort lcolor(gs11) lpattern(dash) lwidth(medthin) || scatter var7 levelc2, sort msize(small)   ///
	xlabel(1(1)13, labsize(small)) xmtick(, labsize(small)) ///
	xtitle(Difficulty Level, size(small)) ytitle(Passing Rate, size(small)) ylabel(,labsize(small)) ///
	title("", size(medium)) legend(order(1 2 4) row(1) size(small) nobox fcolor() region(fcolor(white) margin(zero)) bmargin(zero) rowgap(tiny) colgap(tiny) keygap(tiny)) ///
	graphregion(fcolor(white) ifcolor(white) ilwidth(vvvthin)) plotregion(margin(medsmall) lwidth(vvvthin) ilwidth(vvvthin)) ///
	saving("plots/1905moments/cog_levelc2", replace)
	graph export "plots/1905moments/cog_levelc2.pdf", replace	


******levelf2 only 7******
use levelf2_rate, clear


label var mean_task "Data"
label var ub "95% CI"
**paste over 1135-1141
label var var7 "Model"

twoway connected mean_task levelf2, sort lwidth(medthin) msize(small) || line ub levelf2, sort lcolor(gs11) lpattern(dash) lwidth(medthin) || line lb levelf2, sort lcolor(gs11) lpattern(dash) lwidth(medthin) || scatter var7 levelf2, sort msize(small)   ///
	xlabel(1(1)7, labsize(small)) xmtick(, labsize(small)) ///
	xtitle(Difficulty Level, size(small)) ytitle(Passing Rate, size(small)) ylabel(,labsize(small)) ///
	title("", size(medium)) legend(order(1 2 4) row(1) size(vsmall) nobox fcolor() region(fcolor(white) margin(zero)) bmargin(zero) rowgap(tiny) colgap(tiny) keygap(tiny)) ///
	graphregion(fcolor(white) ifcolor(white) ilwidth(vvvthin)) plotregion(margin(medsmall) lwidth(vvvthin) ilwidth(vvvthin)) ///
	saving("plots/1905moments/fine_levelf2", replace)
	graph export "plots/1905moments/fine_levelf2.pdf", replace	
	
	
**# Bookmark #2
	
*******************************************c2 f2 conditional on previous level***************************************

use artc2_rate_pre1, clear

**Paste over lines 1142-1318 simulated moments - var9

gen temp = _n

bys l_focus (temp): gen indexc2 = _n

label var mean "Data"
label var ub "95% CI"
label var var9 "Model"
forval i = 2/12{
	if `i' == 2 | (`i' >= 6 & `i' <= 8) {
		local xlabels `" 3 "1st Task" 8 "2nd Task" 13 "3rd Task" 18 "4th Task" 23 "5th Task" "'
		local xlines "5(5)20"
	}
	else if `i' == 3 | `i' == 9 {
		local xlabels `" 1 "1st Task" 3 "2nd Task" 5 "3rd Task" 7 "4th Task" 9 "5th Task" "'
		local xlines "2(2)8"
	}
	else if `i' == 4 {
		local xlabels `" 1.5 "1st Task" 3.5 "2nd Task" "'
		local xlines "2.5"
	}
	else if `i' == 5 {
		local xlabels `" 3 "1st Task" 8 "2nd Task" "'
		local xlines "5(5)10"
	}
	else if `i' == 10 {
		local xlabels `" 2 "1st Task" 6 "2nd Task" "'
		local xlines "4"
	}
	else if `i' == 11 {
		local xlabels `" 3 "1st Task" 8 "2nd Task" 13 "3rd Task" 18 "4th Task" "'
		local xlines "5(5)15"
	}
	else if `i' == 12 {
		local xlabels `" 2 "1st Task" 5 "2nd Task" 8 "3rd Task" 11 "4th Task" 14 "5th Task" "'
		local xlines "3(3)12"
	}	
	twoway connected mean indexc2 if l_focus == `i', sort lwidth(medthin) msize(small) || line ub indexc2 if l_focus == `i', sort lcolor(gs11) lpattern(dash) lwidth(medthin) || line lb indexc2 if l_focus == `i', sort lcolor(gs11) lpattern(dash) lwidth(medthin) || scatter var9 indexc2 if l_focus == `i', sort msize(small)   ///
	xline(`xlines', lcolor(khaki) lpattern(dash) lwidth(thin)) ///
	xlabel(`xlabels', labsize(small)) xmtick(, labsize(small)) ///
	xtitle(Task Order from The Previous Level That Is Being Conditional on, size(small)) ytitle(Passing Rate, size(small)) ylabel(,labsize(small)) ///
	title("Fit on Cognitive Tasks Average Passing Rate (Level `i')", size(medium)) subtitle("Conditional on Difficulty Level `=`i'-1' Task Performance", size(small)) legend(order(1 2 4) row(1) size(small) nobox fcolor() region(fcolor(white) margin(zero)) bmargin(zero) rowgap(tiny) colgap(tiny) keygap(tiny)) ///
	note("The dashed yellow lines indicate the last task at each task from previous level being conditioned on." "Within difficulty levels, tasks are arranged by order of the children taking them.", size(vsmall) span) ///
	graphregion(fcolor(white) ifcolor(white) ilwidth(vvvthin)) plotregion(margin(medsmall) lwidth(vvvthin) ilwidth(vvvthin))  ///
	saving("plots/1905moments/cog_pre1_l`i'", replace)
	graph export "plots/1905moments/cog_pre1_l`i'.pdf", replace	

}	




use artf2_rate_pre1, clear
**Paste over lines 1319-1402 simulated moments - var9


gen temp = _n

bys l_focus (temp): gen indexf2 = _n

label var mean "Data"
label var ub "95% CI"
label var var9 "Model"
forval i = 2/7{
	if `i' == 4 {
		local xlabels `" 3 "1st Task" 8 "2nd Task" 13 "3rd Task" 18 "4th Task" 23 "5th Task" "'
		local xlines "5(5)20"
	}
	else if `i' == 2 {
		local xlabels `" 1 "1st Task" 3 "2nd Task" 5 "3rd Task" 7 "4th Task" 9 "5th Task" "'
		local xlines "2(2)8"
	}
	else if `i' == 3 {
		local xlabels `" 3 "1st Task" 8 "2nd Task" "'
		local xlines "5(5)10"
	}
	else if `i' == 6 {
		local xlabels `" 2 "1st Task" 6 "2nd Task" 10 "3rd Task" "'
		local xlines "4(4)8"
	}
	else if `i' == 7 {
		local xlabels `" 2 "1st Task" 5 "2nd Task" 8 "3rd Task" 11 "4th Task" "'
		local xlines "3(3)9"
	}	
	else if `i' == 5 {
		local xlabels `" 2 "1st Task" 5 "2nd Task" 8 "3rd Task" 11 "4th Task" 14 "5th Task" "'
		local xlines "3(3)12"
	}	
	twoway connected mean indexf2 if l_focus == `i', sort lwidth(medthin) msize(small) || line ub indexf2 if l_focus == `i', sort lcolor(gs11) lpattern(dash) lwidth(medthin) || line lb indexf2 if l_focus == `i', sort lcolor(gs11) lpattern(dash) lwidth(medthin) || scatter var9 indexf2 if l_focus == `i', sort msize(small)   ///
	xline(`xlines', lcolor(khaki) lpattern(dash) lwidth(thin)) ///
	xlabel(`xlabels', labsize(small)) xmtick(, labsize(small)) ///
	xtitle(Task Order from The Previous Level That Is Being Conditional on, size(small)) ytitle(Passing Rate, size(small)) ylabel(,labsize(small)) ///
	title("Fit on Fine Motor Tasks Average Passing Rate (Level `i')", size(medium)) subtitle("Conditional on Difficulty Level `=`i'-1' Task Performance", size(small)) legend(order(1 2 4) row(1) size(small) nobox fcolor() region(fcolor(white) margin(zero)) bmargin(zero) rowgap(tiny) colgap(tiny) keygap(tiny)) ///
	note("The dashed yellow lines indicate the last task at each task from previous level being conditioned on." "Within difficulty levels, tasks are arranged by order of the children taking them.", size(vsmall) span) ///
	graphregion(fcolor(white) ifcolor(white) ilwidth(vvvthin)) plotregion(margin(medsmall) lwidth(vvvthin) ilwidth(vvvthin))  ///
	saving("plots/1905moments/fine_pre1_l`i'", replace)
	graph export "plots/1905moments/fine_pre1_l`i'.pdf", replace	

}	

	


**# 

*******************************************c2 f2 conditional on previous task***************************************


use artc2_rate_pretask, clear
**Paste over lines 1403-1484 simulated moments - var9

gen index = _n
replace var9 = . if var9 == -99

label var mean "Data"
label var ub "95% CI"
label var var9 "Model"

local xlines ""
local xlabels ""
sum l_focus
if r(N)>0 {
	forval level=`r(min)'/`r(max)' {
		sum index if l_focus==`level'
		if r(N)>0 {
		local xlines "`xlines' `r(max)'"
		local xlabels `" `xlabels' `r(max)' "`level'" "'
		}
	}
}


twoway line mean index, sort lwidth(medthin) || line ub index, sort lcolor(gs11) lpattern(dash) lwidth(medthin) || line lb index, sort lcolor(gs11) lpattern(dash) lwidth(medthin) || scatter var9 index, sort msize(small)   ///
	xline(`xlines', lcolor(khaki) lpattern(dash) lwidth(thin)) ///	
	xlabel(`xlabels', labsize(small)) xmtick(, labsize(small)) ///
	xtitle(Difficulty Level, size(small)) ytitle(Passing Rate, size(small)) ylabel(,labsize(small)) ///
	title("Fit on Cognitive Tasks Average Passing Rate", size(medium)) subtitle(Conditional on Previous Tasks' Performance at the Same Level, size(small)) legend(order(1 2 4) row(1) size(small) nobox fcolor() region(fcolor(white) margin(zero)) bmargin(zero) rowgap(tiny) colgap(tiny) keygap(tiny)) ///
	note("1. The figure presents the average passing rate for each task conditional on passing previous tasks at each level. For example, it shows tasks" "2-5's passing rates conditional on passing the first tasks, and tasks 3-5's passing rates conditional on passing task 2, etc., at each difficulty level." "2. The dashed yellow lines indicate the last task at each difficulty level.", size(vsmall) span) ///
	graphregion(fcolor(white) ifcolor(white) ilwidth(vvvthin)) plotregion(margin(medsmall) lwidth(vvvthin) ilwidth(vvvthin)) ///
	saving("plots/1905moments/cog_pretask", replace)
	graph export "plots/1905moments/cog_pretask.pdf", replace	




use artf2_rate_pretask, clear
**Paste over lines 1485-1527 simulated moments - var9

gen index = _n
replace var9 = . if var9 == -99

label var mean "Data"
label var ub "95% CI"
label var var9 "Model"

local xlines ""
local xlabels ""
sum l_focus
if r(N)>0 {
	forval level=`r(min)'/`r(max)' {
		sum index if l_focus==`level'
		if r(N)>0 {
		local xlines "`xlines' `r(max)'"
		local xlabels `" `xlabels' `r(max)' "`level'" "'
		}
	}
}



twoway line mean index, sort lwidth(medthin) || line ub index, sort lcolor(gs11) lpattern(dash) lwidth(medthin) || line lb index, sort lcolor(gs11) lpattern(dash) lwidth(medthin) || scatter var9 index, sort msize(small)   ///
	xline(`xlines', lcolor(khaki) lpattern(dash) lwidth(thin)) ///	
	xlabel(`xlabels', labsize(small)) xmtick(, labsize(small)) ///
	xtitle(Difficulty Level, size(small)) ytitle(Passing Rate, size(small)) ylabel(,labsize(small)) ///
	title("Fit on Fine Motor Tasks Average Passing Rate", size(medium)) subtitle(Conditional on Previous Tasks' Performance at the Same Level, size(small)) legend(order(1 2 4) row(1) size(small) nobox fcolor() region(fcolor(white) margin(zero)) bmargin(zero) rowgap(tiny) colgap(tiny) keygap(tiny)) ///
	note("1. The figure presents the average passing rate for each task conditional on passing previous tasks at each level. For example, it shows tasks" "2-5's passing rates conditional on passing the first tasks, and tasks 3-5's passing rates conditional on passing task 2, etc., at each difficulty level." "2. The dashed yellow lines indicate the last task at each difficulty level.", size(vsmall) span) ///
	graphregion(fcolor(white) ifcolor(white) ilwidth(vvvthin)) plotregion(margin(medsmall) lwidth(vvvthin) ilwidth(vvvthin)) ///
	saving("plots/1905moments/fine_pretask", replace)
	graph export "plots/1905moments/fine_pretask.pdf", replace	


	
	
**# Bookmark #6

*******************************************c2 f2 conditional on previous 2 level***************************************

use artc2_rate_pre2, clear
**paste over 1528-1669 - var9


gen temp = _n

bys l_focus (temp): gen indexc2 = _n

label var mean "Data"
label var ub "95% CI"
label var var9 "Model"
forval i = 3/12{
	if (`i' >= 7 & `i' <= 8) {
		local xlabels `" 3 "1st Task" 8 "2nd Task" 13 "3rd Task" 18 "4th Task" 23 "5th Task" "'
		local xlines "5(5)20"
	}
	else if `i' == 3 | `i' == 4 | `i'==9 {
		local xlabels `" 1 "1st Task" 3 "2nd Task" 5 "3rd Task" 7 "4th Task" 9 "5th Task" "'
		local xlines "2(2)8"
	}
	else if `i' == 5 | `i' == 6 | `i' == 11 {
		local xlabels `" 3 "1st Task" 8 "2nd Task" "'
		local xlines "5"
	}
	else if `i' == 10 {
		local xlabels `" 2.5 "1st Task" 6.5 "2nd Task" 10.5 "3rd Task" 14.5 "4th Task" 20.5 "5th Task" "'
		local xlines "4(4)16"
	}
	else if `i' == 12 {
		local xlabels `" 2 "1st Task" 5 "2nd Task" 8 "3rd Task" 11 "4th Task" "'
		local xlines "3(3)9"
	}	
	twoway connected mean indexc2 if l_focus == `i', sort lwidth(medthin) msize(small) || line ub indexc2 if l_focus == `i', sort lcolor(gs11) lpattern(dash) lwidth(medthin) || line lb indexc2 if l_focus == `i', sort lcolor(gs11) lpattern(dash) lwidth(medthin) || scatter var9 indexc2 if l_focus == `i', sort msize(small)   ///
	xline(`xlines', lcolor(khaki) lpattern(dash) lwidth(thin)) ///
	xlabel(`xlabels', labsize(small)) xmtick(, labsize(small)) ///
	xtitle(Task Order from The Level 2 Steps Down That Is Being Conditional on, size(small)) ytitle(Passing Rate, size(small)) ylabel(,labsize(small)) ///
	title("Fit on Cognitive Tasks Average Passing Rate (Level `i')", size(medium)) subtitle("Conditional on Difficulty Level `=`i'-2' Task Performance", size(small)) legend(order(1 2 4) row(1) size(small) nobox fcolor() region(fcolor(white) margin(zero)) bmargin(zero) rowgap(tiny) colgap(tiny) keygap(tiny)) ///
	note("The dashed yellow lines indicate the last task at each task from previous level being conditioned on." "Within difficulty levels, tasks are arranged by order of the children taking them.", size(vsmall) span) ///
	graphregion(fcolor(white) ifcolor(white) ilwidth(vvvthin)) plotregion(margin(medsmall) lwidth(vvvthin) ilwidth(vvvthin))  ///
	saving("plots/1905moments/cog_pre2_l`i'", replace)
	graph export "plots/1905moments/cog_pre2_l`i'.pdf", replace	

}		




use artf2_rate_pre2, clear
**paste over 1670-1748 - var9


gen temp = _n

bys l_focus (temp): gen indexf2 = _n

label var mean "Data"
label var ub "95% CI"
label var var9 "Model"
forval i = 3/7{
	if `i' == 3 {
		local xlabels `" 3 "1st Task" 8 "2nd Task" 13 "3rd Task" 18 "4th Task" 23 "5th Task" "'
		local xlines "5(5)20"
	}
	else if `i' == 5 {
		local xlabels `" 2 "1st Task" 5 "2nd Task" 8 "3rd Task" 11 "4th Task" 14 "5th Task" "'
		local xlines "3(3)12"
	}
	else if `i' == 4 {
		local xlabels `" 3 "1st Task" 8 "2nd Task" "'
		local xlines "5"
	}
	else if `i' == 6 {
		local xlabels `" 2.5 "1st Task" 6.5 "2nd Task" 10.5 "3rd Task" 14.5 "4th Task" 20.5 "5th Task" "'
		local xlines "4(4)16"
	}
	else if `i' == 7 {
		local xlabels `" 2 "1st Task" 5 "2nd Task" 8 "3rd Task" "'
		local xlines "3(3)6"
	}	
	twoway connected mean indexf2 if l_focus == `i', sort lwidth(medthin) msize(small) || line ub indexf2 if l_focus == `i', sort lcolor(gs11) lpattern(dash) lwidth(medthin) || line lb indexf2 if l_focus == `i', sort lcolor(gs11) lpattern(dash) lwidth(medthin) || scatter var9 indexf2 if l_focus == `i', sort msize(small)   ///
	xline(`xlines', lcolor(khaki) lpattern(dash) lwidth(thin)) ///
	xlabel(`xlabels', labsize(small)) xmtick(, labsize(small)) ///
	xtitle(Task Order from The Level 2 Steps Down That Is Being Conditional on, size(small)) ytitle(Passing Rate, size(small)) ylabel(,labsize(small)) ///
	title("Fit on Fine Motor Tasks Average Passing Rate (Level `i')", size(medium)) subtitle("Conditional on Difficulty Level `=`i'-2' Task Performance", size(small)) legend(order(1 2 4) row(1) size(small) nobox fcolor() region(fcolor(white) margin(zero)) bmargin(zero) rowgap(tiny) colgap(tiny) keygap(tiny)) ///
	note("The dashed yellow lines indicate the last task at each task from previous level being conditioned on." "Within difficulty levels, tasks are arranged by order of the children taking them.", size(vsmall) span) ///
	graphregion(fcolor(white) ifcolor(white) ilwidth(vvvthin)) plotregion(margin(medsmall) lwidth(vvvthin) ilwidth(vvvthin))  ///
	saving("plots/1905moments/fine_pre2_l`i'", replace)
	graph export "plots/1905moments/fine_pre2_l`i'.pdf", replace	

}		

	


**# Bookmark #7
	
***duration+interaction***
**Language 55
use duration_l, clear
**paste over lines 1750-1759 var8

label var mean "Data"
label var ub "95% CI"
label var var8 "Model"

twoway connected mean level, sort lwidth(medthin) msize(small) || line ub level, sort lcolor(gs11) lpattern(dash) lwidth(medthin) || line lb level, sort lcolor(gs11) lpattern(dash) lwidth(medthin) || scatter var8 level, sort msize(small)   ///
	xlabel(2(1)11, labsize(small)) xmtick(, labsize(small)) ///
	xtitle(Difficulty Level, size(small)) ytitle(Time to Mastery, size(small)) ylabel(,labsize(small)) ///
	title("", size(medium)) legend(order(1 2 4) row(1) size(small) nobox fcolor() region(fcolor(white) margin(zero)) bmargin(zero) rowgap(tiny) colgap(tiny) keygap(tiny)) ///
	note("Note: Time to Mastery is defined as the number of tasks a child takes at the previous difficulty level" "until the first success (inclusive)." "All the children started from level 2 or above upon enrolling.", size(small) span)   ///
	graphregion(fcolor(white) ifcolor(white) ilwidth(vvvthin)) plotregion(margin(medsmall) lwidth(vvvthin) ilwidth(vvvthin)) ///
	saving("plots/1905moments/lan_dur", replace)
	graph export "plots/1905moments/lan_dur.pdf", replace	
	

use interaction_l, clear


**paste over lines 1774-1803 var8
reshape wide mean n se lb ub var8, i(level) j(reshape)

foreach i in mean n se lb ub var8{
    rename `i'1 `i'_tab
    rename `i'2 `i'_intab
    rename `i'3 `i'_inttc	
}

foreach i in _tab _intab _inttc{
	label var mean`i' "Data"
	label var ub`i' "95% CI"
	label var var8`i' "Model"
}


twoway connected mean_tab level, sort lwidth(medthin) msize(small) || line ub_tab level, sort lcolor(gs11) lpattern(dash) lwidth(medthin) || line lb_tab level, sort lcolor(gs11) lpattern(dash) lwidth(medthin) || scatter var8_tab level, sort msize(small)   ///
	xlabel(2(1)11, labsize(small)) xmtick(, labsize(small)) ///
	xtitle(Difficulty Level, size(small)) ytitle(Correlation, size(small)) ylabel(,labsize(small)) ///
	title("Fit on Language Correlation between Duration and Teaching Ability", size(medium)) legend(order(1 2 4) row(1) size(small) nobox fcolor() region(fcolor(white) margin(zero)) bmargin(zero) rowgap(tiny) colgap(tiny) keygap(tiny)) ///
	note("Note: Time to Mastery is defined as the number of tasks a child takes at the previous difficulty level" "until the first success (inclusive)." "All the children started from level 2 or above upon enrolling.", size(small) span)   ///
	graphregion(fcolor(white) ifcolor(white) ilwidth(vvvthin)) plotregion(margin(medsmall) lwidth(vvvthin) ilwidth(vvvthin)) ///
	saving("plots/1905moments/lan_tab", replace)
	graph export "plots/1905moments/lan_tab.pdf", replace	
	

twoway connected mean_intab level, sort lwidth(medthin) msize(small) || line ub_intab level, sort lcolor(gs11) lpattern(dash) lwidth(medthin) || line lb_intab level, sort lcolor(gs11) lpattern(dash) lwidth(medthin) || scatter var8_intab level, sort msize(small)   ///
	xlabel(2(1)11, labsize(small)) xmtick(, labsize(small)) ///
	xtitle(Difficulty Level, size(small)) ytitle(Correlation, size(small)) ylabel(,labsize(small)) ///
	title("Fit on Language Correlation between Duration" "and Interaction Quality between Caregiver and Home Visitor", size(medium)) legend(order(1 2 4) row(1) size(small) nobox fcolor() region(fcolor(white) margin(zero)) bmargin(zero) rowgap(tiny) colgap(tiny) keygap(tiny)) ///
	note("Note: Time to Mastery is defined as the number of tasks a child takes at the previous difficulty level" "until the first success (inclusive)." "All the children started from level 2 or above upon enrolling.", size(small) span)   ///
	graphregion(fcolor(white) ifcolor(white) ilwidth(vvvthin)) plotregion(margin(medsmall) lwidth(vvvthin) ilwidth(vvvthin)) ///
	saving("plots/1905moments/lan_intab", replace)
	graph export "plots/1905moments/lan_intab.pdf", replace	
	
twoway connected mean_inttc level, sort lwidth(medthin) msize(small) || line ub_inttc level, sort lcolor(gs11) lpattern(dash) lwidth(medthin) || line lb_inttc level, sort lcolor(gs11) lpattern(dash) lwidth(medthin) || scatter var8_inttc level, sort msize(small)   ///
	xlabel(2(1)11, labsize(small)) xmtick(, labsize(small)) ///
	xtitle(Difficulty Level, size(small)) ytitle(Correlation, size(small)) ylabel(,labsize(small)) ///
	title("Fit on Language Correlation between Duration" "and Interaction Quality between Home Visitor and Child", size(medium)) legend(order(1 2 4) row(1) size(small) nobox fcolor() region(fcolor(white) margin(zero)) bmargin(zero) rowgap(tiny) colgap(tiny) keygap(tiny)) ///
	note("Note: Time to Mastery is defined as the number of tasks a child takes at the previous difficulty level" "until the first success (inclusive)." "All the children started from level 2 or above upon enrolling.", size(small) span)   ///
	graphregion(fcolor(white) ifcolor(white) ilwidth(vvvthin)) plotregion(margin(medsmall) lwidth(vvvthin) ilwidth(vvvthin)) ///
	saving("plots/1905moments/lan_inttc", replace)
	graph export "plots/1905moments/lan_inttc.pdf", replace	

	
**Cog 65

use duration_c2, clear
**paste over lines 1804-1816 var8

label var mean "Data"
label var ub "95% CI"
label var var8 "Model"

twoway connected mean level, sort lwidth(medthin) msize(small) || line ub level, sort lcolor(gs11) lpattern(dash) lwidth(medthin) || line lb level, sort lcolor(gs11) lpattern(dash) lwidth(medthin) || scatter var8 level, sort msize(small)   ///
	xlabel(1(1)13, labsize(small)) xmtick(, labsize(small)) ///
	xtitle(Difficulty Level, size(small)) ytitle(Time to Mastery, size(small)) ylabel(,labsize(small)) ///
	title("", size(medium)) legend(order(1 2 4) row(1) size(small) nobox fcolor() region(fcolor(white) margin(zero)) bmargin(zero) rowgap(tiny) colgap(tiny) keygap(tiny)) ///
	note("Note: Time to Mastery is defined as the number of tasks a child takes at the previous difficulty level" "until the first success (inclusive).", size(small) span)   ///
	graphregion(fcolor(white) ifcolor(white) ilwidth(vvvthin)) plotregion(margin(medsmall) lwidth(vvvthin) ilwidth(vvvthin)) ///
	saving("plots/1905moments/cog_dur", replace)
	graph export "plots/1905moments/cog_dur.pdf", replace	
	
	

********Interaction******
use interaction_c2, clear


**paste over lines 1830-1868 var8

drop if level == 13
reshape wide mean n se lb ub var8, i(level) j(reshape)

foreach i in mean n se lb ub var8{
    rename `i'1 `i'_tab
    rename `i'2 `i'_intab
    rename `i'3 `i'_inttc	
}

foreach i in _tab _intab _inttc{
	label var mean`i' "Data"
	label var ub`i' "95% CI"
	label var var8`i' "Model"
}


twoway connected mean_tab level, sort lwidth(medthin) msize(small) || line ub_tab level, sort lcolor(gs11) lpattern(dash) lwidth(medthin) || line lb_tab level, sort lcolor(gs11) lpattern(dash) lwidth(medthin) || scatter var8_tab level, sort msize(small)   ///
	xlabel(1(1)12, labsize(small)) xmtick(, labsize(small)) ///
	xtitle(Difficulty Level, size(small)) ytitle(Correlation, size(small)) ylabel(,labsize(small)) ///
	title("Fit on Cognitive Correlation between Duration and Teaching Ability", size(medium)) legend(order(1 2 4) row(1) size(small) nobox fcolor() region(fcolor(white) margin(zero)) bmargin(zero) rowgap(tiny) colgap(tiny) keygap(tiny)) ///
	graphregion(fcolor(white) ifcolor(white) ilwidth(vvvthin)) plotregion(margin(medsmall) lwidth(vvvthin) ilwidth(vvvthin)) ///
	saving("plots/1905moments/cog_tab", replace)
	graph export "plots/1905moments/cog_tab.pdf", replace	
	

twoway connected mean_intab level, sort lwidth(medthin) msize(small) || line ub_intab level, sort lcolor(gs11) lpattern(dash) lwidth(medthin) || line lb_intab level, sort lcolor(gs11) lpattern(dash) lwidth(medthin) || scatter var8_intab level, sort msize(small)   ///
	xlabel(1(1)12, labsize(small)) xmtick(, labsize(small)) ///
	xtitle(Difficulty Level, size(small)) ytitle(Correlation, size(small)) ylabel(,labsize(small)) ///
	title("Fit on Cognitive Correlation between Duration" "and Interaction Quality between Caregiver and Home Visitor", size(medium)) legend(order(1 2 4) row(1) size(small) nobox fcolor() region(fcolor(white) margin(zero)) bmargin(zero) rowgap(tiny) colgap(tiny) keygap(tiny)) ///
	graphregion(fcolor(white) ifcolor(white) ilwidth(vvvthin)) plotregion(margin(medsmall) lwidth(vvvthin) ilwidth(vvvthin)) ///
	saving("plots/1905moments/cog_intab", replace)
	graph export "plots/1905moments/cog_intab.pdf", replace	
	
twoway connected mean_inttc level, sort lwidth(medthin) msize(small) || line ub_inttc level, sort lcolor(gs11) lpattern(dash) lwidth(medthin) || line lb_inttc level, sort lcolor(gs11) lpattern(dash) lwidth(medthin) || scatter var8_inttc level, sort msize(small)   ///
	xlabel(1(1)12, labsize(small)) xmtick(, labsize(small)) ///
	xtitle(Difficulty Level, size(small)) ytitle(Correlation, size(small)) ylabel(,labsize(small)) ///
	title("Fit on Cognitive Correlation between Duration" "and Interaction Quality between Home Visitor and Child", size(medium)) legend(order(1 2 4) row(1) size(small) nobox fcolor() region(fcolor(white) margin(zero)) bmargin(zero) rowgap(tiny) colgap(tiny) keygap(tiny)) ///
	graphregion(fcolor(white) ifcolor(white) ilwidth(vvvthin)) plotregion(margin(medsmall) lwidth(vvvthin) ilwidth(vvvthin)) ///
	saving("plots/1905moments/cog_inttc", replace)
	graph export "plots/1905moments/cog_inttc.pdf", replace	



**fine 35

use duration_f2, clear
**paste over lines 1869-1875 var8

label var mean "Data"
label var ub "95% CI"
label var var8 "Model"

twoway connected mean level, sort lwidth(medthin) msize(small) || line ub level, sort lcolor(gs11) lpattern(dash) lwidth(medthin) || line lb level, sort lcolor(gs11) lpattern(dash) lwidth(medthin) || scatter var8 level, sort msize(small)   ///
	xlabel(1(1)7, labsize(small)) xmtick(, labsize(small)) ///
	xtitle(Difficulty Level, size(small)) ytitle(Time to Mastery, size(small)) ylabel(,labsize(small)) ///
	title("", size(medium)) legend(order(1 2 4) row(1) size(small) nobox fcolor() region(fcolor(white) margin(zero)) bmargin(zero) rowgap(tiny) colgap(tiny) keygap(tiny)) ///
	note("Note: Time to Mastery is defined as the number of tasks a child takes at the previous difficulty level" "until the first success (inclusive).", size(small) span)   ///
	graphregion(fcolor(white) ifcolor(white) ilwidth(vvvthin)) plotregion(margin(medsmall) lwidth(vvvthin) ilwidth(vvvthin)) ///
	saving("plots/1905moments/fine_dur", replace)
	graph export "plots/1905moments/fine_dur.pdf", replace	
	
	

********Interaction******
use interaction_f2, clear


**paste over lines 1883-1903 var8
reshape wide mean n se lb ub var8, i(level) j(reshape)

foreach i in mean n se lb ub var8{
    rename `i'1 `i'_tab
    rename `i'2 `i'_intab
    rename `i'3 `i'_inttc	
}

foreach i in _tab _intab _inttc{
	label var mean`i' "Data"
	label var ub`i' "95% CI"
	label var var8`i' "Model"
}


twoway connected mean_tab level, sort lwidth(medthin) msize(small) || line ub_tab level, sort lcolor(gs11) lpattern(dash) lwidth(medthin) || line lb_tab level, sort lcolor(gs11) lpattern(dash) lwidth(medthin) || scatter var8_tab level, sort msize(small)   ///
	xlabel(1(1)7, labsize(small)) xmtick(, labsize(small)) ///
	xtitle(Difficulty Level, size(small)) ytitle(Correlation, size(small)) ylabel(,labsize(small)) ///
	title("Fit on Fine Motor Correlation between Duration and Teaching Ability", size(medium)) legend(order(1 2 4) row(1) size(small) nobox fcolor() region(fcolor(white) margin(zero)) bmargin(zero) rowgap(tiny) colgap(tiny) keygap(tiny)) ///
	graphregion(fcolor(white) ifcolor(white) ilwidth(vvvthin)) plotregion(margin(medsmall) lwidth(vvvthin) ilwidth(vvvthin)) ///
	saving("plots/1905moments/fine_tab", replace)
	graph export "plots/1905moments/fine_tab.pdf", replace	
	

twoway connected mean_intab level, sort lwidth(medthin) msize(small) || line ub_intab level, sort lcolor(gs11) lpattern(dash) lwidth(medthin) || line lb_intab level, sort lcolor(gs11) lpattern(dash) lwidth(medthin) || scatter var8_intab level, sort msize(small)   ///
	xlabel(1(1)7, labsize(small)) xmtick(, labsize(small)) ///
	xtitle(Difficulty Level, size(small)) ytitle(Correlation, size(small)) ylabel(,labsize(small)) ///
	title("Fit on Fine Motor Correlation between Duration" "and Interaction Quality between Caregiver and Home Visitor", size(medium)) legend(order(1 2 4) row(1) size(small) nobox fcolor() region(fcolor(white) margin(zero)) bmargin(zero) rowgap(tiny) colgap(tiny) keygap(tiny)) ///
	graphregion(fcolor(white) ifcolor(white) ilwidth(vvvthin)) plotregion(margin(medsmall) lwidth(vvvthin) ilwidth(vvvthin)) ///
	saving("plots/1905moments/fine_intab", replace)
	graph export "plots/1905moments/fine_intab.pdf", replace	
	
twoway connected mean_inttc level, sort lwidth(medthin) msize(small) || line ub_inttc level, sort lcolor(gs11) lpattern(dash) lwidth(medthin) || line lb_inttc level, sort lcolor(gs11) lpattern(dash) lwidth(medthin) || scatter var8_inttc level, sort msize(small)   ///
	xlabel(1(1)7, labsize(small)) xmtick(, labsize(small)) ///
	xtitle(Difficulty Level, size(small)) ytitle(Correlation, size(small)) ylabel(,labsize(small)) ///
	title("Fit on Fine Motor Correlation between Duration" "and Interaction Quality between Home Visitor and Child", size(medium)) legend(order(1 2 4) row(1) size(small) nobox fcolor() region(fcolor(white) margin(zero)) bmargin(zero) rowgap(tiny) colgap(tiny) keygap(tiny)) ///
	graphregion(fcolor(white) ifcolor(white) ilwidth(vvvthin)) plotregion(margin(medsmall) lwidth(vvvthin) ilwidth(vvvthin)) ///
	saving("plots/1905moments/fine_inttc", replace)
	graph export "plots/1905moments/fine_inttc.pdf", replace	





/*	
*******************************************l c2 f2 g first 5 tasks each level***************************************

	
******artl1-5, level 2/11******
use artl1-5_rate, clear
gen indexl = _n

label var mean "Data"
label var ub "95% CI"

**paste 867-916 - var9
label var var9 "Model"
local xlabels ""
forval i = 2/11{
	local k = 5*(`i'-1)
	local xlabels "`xlabels' `k' "`i'" "
}

	twoway line mean indexl, sort lwidth(medthin) || line ub indexl, sort lcolor(gs11) lpattern(dash) lwidth(medthin) || line lb indexl, sort lcolor(gs11) lpattern(dash) lwidth(medthin) || scatter var9 indexl, sort msize(small)   ///
	xline(5(5)50, lcolor(khaki) lpattern(dash) lwidth(thin)) ///
	xlabel(`xlabels', labsize(small)) xmtick(, labsize(small)) ///
	xtitle(Difficulty Level, size(small)) ytitle(Passing Rate, size(small)) ylabel(,labsize(small)) ///
	title("Fit for Language Tasks by Level", size(medium)) subtitle(First Five Tasks, size(small)) legend(order(1 2 4) row(1) size(small) nobox fcolor() region(fcolor(white) margin(zero)) bmargin(zero) rowgap(tiny) colgap(tiny) keygap(tiny)) ///
	note("Note: The dashed yellow lines indicate the last task at each difficulty level. Within difficulty levels, " "tasks are arranged by order of the children taking them.", size(small) span) ///
	graphregion(fcolor(white) ifcolor(white) ilwidth(vvvthin)) plotregion(margin(medsmall) lwidth(vvvthin) ilwidth(vvvthin))  ///
	saving("plots/1905moments/lan_first5_alllevel", replace)
	graph export "plots/1905moments/lan_first5_alllevel.pdf", replace	
	
	

	
******artc21-5, level 1/12******
use artc21-5_rate, clear

**paste 1875-1934 - var8
label var var8 "Model"
drop if var8 == -99
gen index = _n

label var mean "Data"
label var ub "95% CI"


local xlines ""
local xlabels ""
sum level
if r(N)>0 {
	forval level=`r(min)'/`r(max)' {
		sum index if level==`level'
		if r(N)>0 {
		local xlines "`xlines' `r(max)'"
		local xlabels `" `xlabels' `r(max)' "`level'" "'
		}
	}
}

	twoway line mean index, sort lwidth(medthin) || line ub index, sort lcolor(gs11) lpattern(dash) lwidth(medthin) || line lb index, sort lcolor(gs11) lpattern(dash) lwidth(medthin) || scatter var8 index, sort msize(small)   ///
	xline(`xlines', lcolor(khaki) lpattern(dash) lwidth(thin)) ///
	xlabel(`xlabels', labsize(small)) xmtick(, labsize(small)) ///
	xtitle(Moment Index, size(small)) ytitle(Passing Rate, size(small)) ylabel(,labsize(small)) ///
	title("Fit for Cognitive Tasks by Level", size(medium)) subtitle(First Few Tasks at Each Level, size(small)) legend(order(1 2 4) row(1) size(vsmall) nobox fcolor() region(fcolor(white) margin(zero)) bmargin(zero) rowgap(tiny) colgap(tiny) keygap(tiny)) ///
	note("Note: The dashed yellow lines indicate the last task at each difficulty level. Within difficulty levels, " "tasks are arranged by order of the children taking them.", size(small) span) ///
	graphregion(fcolor(white) ifcolor(white) ilwidth(vvvthin)) plotregion(margin(medsmall) lwidth(vvvthin) ilwidth(vvvthin))  ///
	saving("plots/1905moments/cog_first5_alllevel", replace)
	graph export "plots/1905moments/cog_first5_alllevel.pdf", replace	
	

	
******artf21-5, level 1/6******
use artf21-5_rate, clear

**paste 1935-1964 - var8
label var var8 "Model"
drop if var8 == -99
gen index = _n

label var mean "Data"
label var ub "95% CI"


local xlines ""
local xlabels ""
sum level
if r(N)>0 {
	forval level=`r(min)'/`r(max)' {
		sum index if level==`level'
		if r(N)>0 {
		local xlines "`xlines' `r(max)'"
		local xlabels `" `xlabels' `r(max)' "`level'" "'
		}
	}
}

	twoway line mean index, sort lwidth(medthin) || line ub index, sort lcolor(gs11) lpattern(dash) lwidth(medthin) || line lb index, sort lcolor(gs11) lpattern(dash) lwidth(medthin) || scatter var8 index, sort msize(small)   ///
	xline(`xlines', lcolor(khaki) lpattern(dash) lwidth(thin)) ///
	xlabel(`xlabels', labsize(small)) xmtick(, labsize(small)) ///
	xtitle(Moment Index, size(small)) ytitle(Passing Rate, size(small)) ylabel(,labsize(small)) ///
	title("Fit for Fine Motor Tasks by Level", size(medium)) subtitle(First Few Tasks at Each Level, size(small)) legend(order(1 2 4) row(1) size(vsmall) nobox fcolor() region(fcolor(white) margin(zero)) bmargin(zero) rowgap(tiny) colgap(tiny) keygap(tiny)) ///
	note("Note: The dashed yellow lines indicate the last task at each difficulty level. Within difficulty levels, " "tasks are arranged by order of the children taking them.", size(small) span) ///
	graphregion(fcolor(white) ifcolor(white) ilwidth(vvvthin)) plotregion(margin(medsmall) lwidth(vvvthin) ilwidth(vvvthin))  ///
	saving("plots/1905moments/fine_first5_alllevel", replace)
	graph export "plots/1905moments/fine_first5_alllevel.pdf", replace	

	
	
******artg1-5, level 4/9******
use artg1-5_rate, clear

**paste 1965-1982 - var8
label var var8 "Model"
drop if var8 == -99
gen index = _n

label var mean "Data"
label var ub "95% CI"


local xlines ""
local xlabels ""
sum level
if r(N)>0 {
	forval level=`r(min)'/`r(max)' {
		sum index if level==`level'
		if r(N)>0 {
		local xlines "`xlines' `r(max)'"
		local xlabels `" `xlabels' `r(max)' "`level'" "'
		}
	}
}

	twoway line mean index, sort lwidth(medthin) || line ub index, sort lcolor(gs11) lpattern(dash) lwidth(medthin) || line lb index, sort lcolor(gs11) lpattern(dash) lwidth(medthin) || scatter var8 index, sort msize(small)   ///
	xline(`xlines', lcolor(khaki) lpattern(dash) lwidth(thin)) ///
	xlabel(`xlabels', labsize(small)) xmtick(, labsize(small)) ///
	xtitle(Moment Index, size(small)) ytitle(Passing Rate, size(small)) ylabel(,labsize(small)) ///
	title("Fit for Gross Motor Tasks by Level", size(medium)) subtitle(First Few Tasks at Each Level, size(small)) legend(order(1 2 4) row(1) size(vsmall) nobox fcolor() region(fcolor(white) margin(zero)) bmargin(zero) rowgap(tiny) colgap(tiny) keygap(tiny)) ///
	note("Note: The dashed yellow lines indicate the last task at each difficulty level. Within difficulty levels, " "tasks are arranged by order of the children taking them.", size(small) span) ///
	graphregion(fcolor(white) ifcolor(white) ilwidth(vvvthin)) plotregion(margin(medsmall) lwidth(vvvthin) ilwidth(vvvthin))  ///
	saving("plots/1905moments/gross_first5_alllevel", replace)
	graph export "plots/1905moments/gross_first5_alllevel.pdf", replace	
*/